package com.gitee.zw.rule.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 源规则，代表一条由业务人员编制的规则，它包含若干条分支规则
 *
 * @author zhengqing
 * @description
 * @date 2020/12/28 17:08
 */
@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class SourceRule {
    /**
     * 规则顺序号
     */
    private Integer sequence;
    /**
     * 规则代码，domain内要唯一，最终会被作为规则的名的组成部分，
     * 如所属domain: test, code: rule1, 则最终规则名为 rule-test-rule1
     */
    private String code;
    /**
     * 规则描述，最终会被作为规则的描述说明信息，如：
     * <p>
     * /* 客户评分评级规则 *\/
     * <br/>
     * rule "rule-test-rule1"
            </p>
     */
    private String memo;
    /**
     * 规则分支
     */
    private List<SourceRuleBranch> branches;
}
